package com.harmony.pilot.common.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 代码生成请求
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class GenerationRequest implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 代码上下文
     */
    @NotNull(message = "代码上下文不能为空")
    private CodeContext context;
    
    /**
     * 生成提示/意图
     */
    @NotBlank(message = "生成提示不能为空")
    private String prompt;
    
    /**
     * 生成类型（function, class, test, comment）
     */
    private String generationType = "function";
    
    /**
     * 最大生成长度
     */
    private Integer maxLength = 500;
    
    /**
     * 温度参数（0-1）
     */
    private Double temperature = 0.7;
    
    /**
     * 是否遵循OpenHarmony编码规范
     */
    private Boolean followCodingStandard = true;
}

